package com.yklx.youke.admin.service;

import com.yklx.youke.entity.Permission;
import java.util.List;

public interface PermissionService {
    /**
     * 获取用户拥有的权限列表
     * @param userId 用户ID
     * @return 权限列表
     */
    List<Permission> getUserPermissions(String userId);

    /**
     * 获取所有权限列表
     * @return 所有权限列表
     */
    List<Permission> getAllPermissions();

    /**
     * 获取单个权限信息
     * @param permissionId 权限ID
     * @return 权限信息
     */
    Permission getPermissionById(String permissionId);

    /**
     * 创建新权限
     * @param permission 权限对象
     * @return 成功返回true，否则返回false
     */
    boolean createPermission(Permission permission);

    /**
     * 更新权限信息
     * @param permission 权限对象
     * @return 成功返回true，否则返回false
     */
    boolean updatePermission(Permission permission);

    /**
     * 删除权限
     * @param permissionId 权限ID
     * @return 成功返回true，否则返回false
     */
    boolean deletePermission(String permissionId);

    /**
     * 检查用户是否拥有指定权限
     * @param userId 用户ID
     * @param permissionCode 权限代码
     * @return 有权限返回true，否则返回false
     */
    boolean hasPermission(String userId, String permissionCode);
}